home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / dev / c / vbcc.lha / vbcc / pasm / version.c < prev   
C/C++ Source or Header  |  1998-02-17  |  4KB  |  86 lines

  1. /* $VER: pasm version.c V0.8 (14.02.98)
  2.  *
  3.  * This file is part of pasm, a portable PowerPC assembler.
  4.  * Copyright (c) 1997-98  Frank Wille
  5.  *
  6.  * pasm is freeware and part of the portable and retargetable ANSI C
  7.  * compiler vbcc, copyright (c) 1995-98 by Volker Barthelmann.
  8.  * pasm may be freely redistributed as long as no modifications are
  9.  * made and nothing is charged for it. Non-commercial usage is allowed
  10.  * without any restrictions.
  11.  * EVERY PRODUCT OR PROGRAM DERIVED DIRECTLY FROM MY SOURCE MAY NOT BE
  12.  * SOLD COMMERCIALLY WITHOUT PERMISSION FROM THE AUTHOR.
  13.  *
  14.  *
  15.  * v0.7 (02.01.98) phx
  16.  *      Option -O (output format) was renamed to -F. New option -O for
  17.  *      enabling optimizations. Changed "1997" to "1997-98".
  18.  *      Output format 3 is ADOS (like EHF, but doesn't use HUNK_PPC_CODE).
  19.  * v0.6 (30.10.97) phx
  20.  *      Description for option -R was changed from "don't predefine
  21.  *      standard symbols" into "don't predefine register symbols".
  22.  *      Options to disable warnings for optional, 64-bit and super-
  23.  *      visor instructions: -mo, -m64, -ms.
  24.  * v0.5 (12.10.97) phx
  25.  *      New option -D to define a symbol.
  26.  * v0.4 (02.07.97) phx
  27.  *      -V prints only version and build string and no instructions. New
  28.  *      function show_version().
  29.  *      Base address for absolute code may be set with -B option.
  30.  *      New option -I to specify some include paths.
  31.  *      Option -x automatically declares unknown symbols as
  32.  *      externally defined.
  33.  * v0.3 (26.03.97) phx
  34.  *      New option -O to select output file format.
  35.  * v0.2 (25.03.97) phx
  36.  *      Writes ELF object for 32-bit PowerPC big-endian. Either absolute
  37.  *      or ELF output format may be selected. ELF is default for all
  38.  *      currently supported platforms. PPCasm supports nine different
  39.  *      relocation types (there are much more...).
  40.  *      Compiles and works also under NetBSD/amiga (68k).
  41.  *      Changed function declaration to 'new style' in all sources
  42.  *      (to avoid problems with '...' for example).
  43.  * v0.1 (11.03.97) phx
  44.  *      First test version with all PowerPC instructions and most
  45.  *      important directives. Only raw, absolute output.
  46.  * v0.0 (14.02.97) phx
  47.  *      File created. Project started.
  48.  */
  49.  
  50.  
  51. #define VERSION_C
  52. #include "ppcasm.h"
  53.  
  54.  
  55. void show_version(void)
  56. {
  57.   printf(PNAME " V%d.%02d (" MACHINE ")  (c)1997-98 by Frank Wille\n"
  58.          "build date: " __DATE__ ", " __TIME__ "\n\n"
  59.          ,VERSION,REVISION);
  60. }
  61.  
  62.  
  63. void show_usage(void)
  64. {
  65.   show_version();
  66.  
  67.   printf("usage: " PNAME " [?][-V][-o <file>][-I <path>][-D <sym>[=<exp>]]"
  68.          "[-w][-x][-R][-X][-F <n>][-B <addr>][-m64|s|o][-O <level>] <file>\n"
  69.          "<file>           PowerPC source text to assemble\n"
  70.          "-V               print version identification and build string\n"
  71.          "-o <file>        output file name\n"
  72.          "-I <path>        add include path\n"
  73.          "-D <sym>[=<exp>] define a symbol\n"
  74.          "-w               suppress warnings\n"
  75.          "-x               undefined symbols are automatically external\n"
  76.          "-R               don't predefine register symbols\n"
  77.          "-X               no extended mnemonics\n"
  78.          "-F <n>           set output format (0=abs, 1=elf, 2=ehf, 3=ados)\n"
  79.          "-B <address>     base address for absolute output\n"
  80.          "-m64             enable 64-bit instructions\n"
  81.          "-ms              enable supervisor instructions\n"
  82.          "-mo              enable optional instructions\n"
  83.          "-O <level>       enable optimizations\n"
  84.          );
  85. }
  86.